package middle.id_1_100;

import java.util.LinkedHashSet;
import java.util.Set;

public class Lee3 {
    public static void main(String[] args) {
        String s1="abcabcbb";
        String s2 = "bbbbb";
        String s3 = "pwwkew";
        System.out.println(lengthOfLongestSubstring(s3));
    }
    public static int lengthOfLongestSubstring(String s) {
        Set<Character> se=new LinkedHashSet<>();  // 集合用来记录是否出现重复元素
        int result=0; // 保存结果
        int l=0;  // 从左边弹出se
        for(int i=0;i<s.length();i++){  // 右边界开始跑
            char c=s.charAt(i);
            while(se.contains(c)){
                se.remove(s.charAt(l));
                l++;
            }
            se.add(c);
            result=Math.max(result,se.size());
        }
        return result;
    }
}
